Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | public, | DIMENSION(:), ALLOCATABLE | :: | x_init | |||
real(kind=dp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | L | |||
real(kind=dp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | U | |||
real(kind=dp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | D | |||
real(kind=dp), | public, | DIMENSION(:), ALLOCATABLE | :: | residual | |||
real(kind=dp), | public, | DIMENSION(:), ALLOCATABLE | :: | p | |||
real(kind=dp), | public | :: | omega | = | 1.d0 | ||
integer, | public | :: | k | = | 0 | ||
integer, | public | :: | max_iter | = | 1000 | ||
real(kind=dp), | public | :: | tol | = | 1.0d-12 | ||
real(kind=dp), | public | :: | alpha | = | 1.d0 | ||
real(kind=dp), | public | :: | beta | = | 1.d0 | ||
logical, | public | :: | is_stationary | = | .TRUE. | ||
real(kind=dp), | public | :: | old_dot_product | = | 0.d0 | ||
logical, | public | :: | strict_mode | = | .FALSE. | ||
procedure(ApplyPreconditioner), | public, | PASS(params), POINTER | :: | precond |
TYPE :: IterativeParams REAL(dp), DIMENSION(:), ALLOCATABLE :: x_init REAL(dp), DIMENSION(:,:), ALLOCATABLE :: L, U, D REAL(dp), DIMENSION(:), ALLOCATABLE :: residual REAL(dp), DIMENSION(:), ALLOCATABLE :: p REAL(dp) :: omega = 1.d0 INTEGER :: k = 0 INTEGER :: max_iter = 1000 REAL(dp) :: tol = 1.0d-12 REAL(dp) :: alpha = 1.d0 REAL(dp) :: beta = 1.d0 LOGICAL :: is_stationary = .TRUE. REAL(dp) :: old_dot_product = 0.d0 LOGICAL :: strict_mode = .FALSE. PROCEDURE(ApplyPreconditioner), PASS(params), POINTER :: precond END TYPE IterativeParams